/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;


import dao.CategoriaDAO;
import java.util.List;
import model.Categoria;
import utils.ExcecaoSCEV;

public class CtrCadastroCategoria {

    private static CtrCadastroCategoria umCtrCadastroCategoria;

    public static CtrCadastroCategoria getInstance() {
        if (umCtrCadastroCategoria == null) {
            umCtrCadastroCategoria = new CtrCadastroCategoria();
        }
        return umCtrCadastroCategoria;
    }

    public List<Categoria> listarTodos(int ordenacao) throws ExcecaoSCEV {
        return CategoriaDAO.getInstance().pegarTodos();
    }

    private boolean validar(Categoria categoria) throws ExcecaoSCEV {

        if (categoria.getNomeCategoria().equals("")) {
            throw new ExcecaoSCEV("Nome Categoria deve ser preenchido");
        }
        return true;
    }

    public void incluir(Categoria categoria) throws ExcecaoSCEV {
        try {
            if (validar(categoria)) {
                CategoriaDAO.getInstance().incluir(categoria);
            }
        } catch (ExcecaoSCEV ex) {
            throw new ExcecaoSCEV(ex.getMsg());
        }

    }

    public void alterar(Categoria categoria) throws ExcecaoSCEV {
        try {
            if (validar(categoria)) {
                CategoriaDAO.getInstance().alterar(categoria);
            }
        } catch (ExcecaoSCEV ex) {
            throw new ExcecaoSCEV(ex.getMsg());
        }

    }

    public void excluir(Categoria categoria) throws ExcecaoSCEV {
        try {
            CategoriaDAO.getInstance().excluir(categoria);
        } catch (ExcecaoSCEV ex) {
            throw new ExcecaoSCEV(ex.getMsg());
        }

    }
}
